// config.js - 全局配置文件

/**
 * 环境配置
 */
const ENV = {
  // 开发环境
  development: {
    // API基础URL
    BASE_API: 'http://192.168.137.1:8001',
    // 文件服务器URL
    FILE_API: 'http://localhost:9000',
    // WebSocket服务URL
    WS_API: 'ws://localhost:8001',
    // 是否开启调试模式
    DEBUG: true,
    // 是否开启接口日志
    API_LOG: true,
    // 是否开启请求加密
    ENCRYPT: false
  },
  
  // 测试环境
  test: {
    BASE_API: 'http://127.0.0.1:8001',
    FILE_API: 'https://test-file.doubaoai.com',
    WS_API: 'wss://test-api.doubaoai.com',
    DEBUG: true,
    API_LOG: true,
    ENCRYPT: true
  },
  
  // 生产环境
  production: {
    BASE_API: 'http://127.0.0.1:8001',
    FILE_API: 'https://file.doubaoai.com',
    WS_API: 'wss://api.doubaoai.com',
    DEBUG: false,
    API_LOG: false,
    ENCRYPT: true
  }
};

/**
 * 当前环境
 * 根据编译时的环境变量确定，默认为开发环境
 */
const CURRENT_ENV = process.env.NODE_ENV || 'development';

/**
 * 获取当前环境的配置
 */
const config = {
  // 当前环境
  ENV: CURRENT_ENV,
  
  // 展开当前环境的配置
  ...ENV[CURRENT_ENV],
  
  // 应用信息
  APP_NAME: '谷树AI',
  APP_VERSION: '1.0.0',
  APP_DESCRIPTION: '您的智能对话伙伴',
  
  // 令牌相关
  TOKEN_KEY: 'token',
  REFRESH_TOKEN_KEY: 'refreshToken',
  TOKEN_HEADER: 'Authorization',
  TOKEN_PREFIX: 'Bearer ',
  
  // 请求配置
  TIMEOUT: 30000, // 请求超时时间（毫秒）
  RETRY_COUNT: 3, // 请求失败重试次数
  RETRY_DELAY: 1000, // 请求失败重试延迟（毫秒）
  
  // 缓存配置
  CACHE_EXPIRE: 7 * 24 * 60 * 60 * 1000, // 缓存过期时间（毫秒），默认7天
  ENABLE_CACHE: true, // 是否启用缓存
  
  // 本地存储键名
  STORAGE_KEYS: {
    USER_INFO: 'userInfo',
    USER_ID: 'userId',
    TOKEN: 'token',
    REFRESH_TOKEN: 'refreshToken',
    LAST_LOGIN_TIME: 'lastLoginTime',
    THEME: 'theme',
    LANGUAGE: 'language'
  },
  
  // 限流配置
  RATE_LIMIT: {
    ENABLE: true,
    MAX_REQUESTS: 100, // 最大请求数
    TIME_WINDOW: 60000 // 时间窗口（毫秒）
  },
  
  // 安全配置
  SECURITY: {
    ENABLE_SIGNATURE: true, // 是否启用签名
    SIGNATURE_EXPIRE: 60000, // 签名过期时间（毫秒）
    ENABLE_ENCRYPT: CURRENT_ENV !== 'development', // 是否启用加密
    ENCRYPT_KEY: 'your-encrypt-key', // 加密密钥
    SIGN_KEY: 'your-sign-key' // 签名密钥
  },
  
  // 上传配置
  UPLOAD: {
    MAX_SIZE: 10 * 1024 * 1024, // 最大上传大小（字节），默认10MB
    ALLOWED_TYPES: ['image/jpeg', 'image/png', 'image/gif', 'image/webp'], // 允许的文件类型
    IMAGE_COMPRESS: true, // 是否压缩图片
    IMAGE_QUALITY: 0.8 // 图片压缩质量（0-1）
  },
  
  // 首页配置
  HOME: {
    DEFAULT_DEVICE_ID: 1 // 默认设备ID
  },
  
  // 设备配置
  DEVICE: {
    DEFAULT_ICON: '/static/images/default-device-icon.png' // 默认设备图标
  },
  
  // 聊天配置
  CHAT: {
    MAX_MESSAGE_LENGTH: 4000, // 最大消息长度
    MAX_HISTORY_COUNT: 50, // 最大历史记录数
    TYPING_SPEED: 10 // 打字速度（字符/秒）
  },
  
  // 布局配置
  LAYOUT: {
    NAVBAR_HEIGHT: 44, // 导航栏高度（px）
    TABBAR_HEIGHT: 50 // 底部标签栏高度（px）
  },
  
  // 主题配置
  THEME: {
    PRIMARY_COLOR: '#07C160', // 主题色
    SUCCESS_COLOR: '#07C160', // 成功色
    WARNING_COLOR: '#FFB800', // 警告色
    ERROR_COLOR: '#FF3B30', // 错误色
    INFO_COLOR: '#10AEFF', // 信息色
    TEXT_COLOR: '#333333', // 文本色
    BG_COLOR: '#FFFFFF', // 背景色
    BORDER_COLOR: '#EEEEEE' // 边框色
  }
};

export default config;